.\"-
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2004-2006
.\"	Damien Bergamini <damien.bergamini@free.fr>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice unmodified, this list of conditions, and the following
.\"    disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd October 17, 2024
.Dt IWN 4
.Os
.Sh NAME
.Nm iwn
.Nd Intel IEEE 802.11n wireless network driver
.Sh SYNOPSIS
To compile this driver into the kernel,
include the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device iwn"
.Cd "device pci"
.Cd "device wlan"
.Cd "device firmware"
.Ed
.Pp
You also need to select a firmware for your device.
Choose one from:
.Bd -ragged -offset indent
.Cd "device iwn1000fw"
.Cd "device iwn100fw"
.Cd "device iwn105fw"
.Cd "device iwn135fw"
.Cd "device iwn2000fw"
.Cd "device iwn2030fw"
.Cd "device iwn4965fw"
.Cd "device iwn5000fw"
.Cd "device iwn5150fw"
.Cd "device iwn6000fw"
.Cd "device iwn6000g2afw"
.Cd "device iwn6000g2bfw"
.Cd "device iwn6050fw"
.Ed
.Pp
Or you can use
.Bd -ragged -offset indent
.Cd "device iwnfw"
.Ed
.Pp
to include them all.
.Pp
Alternatively, to load the driver as a
module at boot time, place the following lines in
.Xr loader.conf 5 :
.Bd -literal -offset indent
if_iwn_load="YES"
iwn1000fw_load="YES"
iwn100fw_load="YES"
iwn105fw_load="YES"
iwn135fw_load="YES"
iwn2000fw_load="YES"
iwn2030fw_load="YES"
iwn4965fw_load="YES"
iwn5000fw_load="YES"
iwn5150fw_load="YES"
iwn6000fw_load="YES"
iwn6000g2afw_load="YES"
iwn6000g2bfw_load="YES"
iwn6050fw_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver supports
.Cm station
and
.Cm monitor
mode operation.
Only one virtual interface may be configured at any time.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Pp
This driver requires the firmware built with the
.Nm iwnfw
module to work.
.Sh HARDWARE
The
.Nm
driver provides support for:
.Pp
.Bl -bullet -compact
.It
Intel Centrino Advanced-N 6200
.It
Intel Centrino Advanced-N 6205
.It
Intel Centrino Advanced-N 6230
.It
Intel Centrino Advanced-N 6235
.It
Intel Centrino Advanced-N + WiMAX 6250
.It
Intel Centrino Ultimate-N 6300
.It
Intel Centrino Wireless-N 100
.It
Intel Centrino Wireless-N 105
.It
Intel Centrino Wireless-N 130
.It
Intel Centrino Wireless-N 135
.It
Intel Centrino Wireless-N 1000
.It
Intel Centrino Wireless-N 1030
.It
Intel Centrino Wireless-N 2200
.It
Intel Centrino Wireless-N 2230
.It
Intel Centrino Wireless-N 4965
.It
Intel Centrino Wireless-N 5100
.It
Intel Centrino Wireless-N 6150
.It
Intel Centrino Wireless-N 6200
.It
Intel Centrino Wireless-N 6250
.It
Intel Centrino Wireless-N + WiMAX 6150
.It
Intel Ultimate N WiFi Link 5300
.It
Intel Wireless WiFi Link 4965
.It
Intel WiFi Link 5100
.It
Intel WiMAX/WiFi Link 5150
.It
Intel WiMAX/WiFi Link 5350
.El
.Sh EXAMPLES
Join an existing BSS network (i.e., connect to an access point):
.Bd -literal -offset indent
# ifconfig wlan create wlandev iwn0 inet 192.168.0.20 \e
    netmask 0xffffff00
.Ed
.Pp
Join a specific BSS network with network name
.Ql my_net :
.Pp
.Dl # ifconfig wlan create wlandev iwn0 ssid my_net up
.Pp
Join a specific BSS network with 64-bit WEP encryption:
.Bd -literal -offset indent
# ifconfig wlan create wlandev iwn0 ssid my_net \e
	wepmode on wepkey 0x1234567890 weptxkey 1 up
.Ed
.Pp
Join a specific BSS network with 128-bit WEP encryption:
.Bd -literal -offset indent
# ifconfig wlan create wlandev iwn0 wlanmode adhoc ssid my_net \e
    wepmode on wepkey 0x01020304050607080910111213 weptxkey 1
.Ed
.Sh DIAGNOSTICS
.Bl -diag
.It "iwn%d: device timeout"
The driver will reset the hardware.
This should not happen.
.It "iwn%d: firmware error"
The onboard microcontroller crashed for some reason.
The driver will reset the hardware.
This should not happen.
.It "iwn%d: timeout waiting for firmware initialization to complete"
The onboard microcontroller failed to initialize in time.
This should not happen.
.It "iwn%d: could not load firmware image '%s'"
The driver failed to load the firmware image using the
.Xr firmware 9
subsystem.
Verify the
.Xr iwnfw 4
firmware module is present.
.It "iwn%d: could not load boot firmware"
An attempt to upload the boot firmware image to the onboard microcontroller
failed.
This should not happen.
.It "iwn%d: could not load microcode"
An attempt to upload the microcode image to the onboard microcontroller failed.
This should not happen.
.It "iwn%d: could not load main firmware"
An attempt to upload the main firmware image to the onboard microcontroller
failed.
This should not happen.
.El
.Sh SEE ALSO
.Xr iwnfw 4 ,
.Xr pci 4 ,
.Xr wlan 4 ,
.Xr wlan_ccmp 4 ,
.Xr wlan_tkip 4 ,
.Xr wlan_wep 4 ,
.Xr networking 7 ,
.Xr ifconfig 8 ,
.Xr wpa_supplicant 8
.Sh AUTHORS
The original
.Nm
driver was written by
.An Damien Bergamini Aq Mt damien.bergamini@free.fr .
